﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iWare.Wms.Core.Enum;

namespace iWare.Wms.Core
{
    /// <summary>
    /// 库存表
    /// </summary>
    [Table("wms_materialstock")]
    [Comment("库存表")]
    public class WmsMaterialStock:DEntityBase
    {
        /// <summary>
        /// 物料编号
        /// </summary>
        [Comment("物料编号")]
        [Required]

        [MaxLength(50)]
        public string MaterialNo { get; set; }

        /// <summary>
        /// 物料类别;数据字典
        /// </summary>
        [Comment("物料类别")]
        [Required]

        public MaterialType MaterialType { get; set; }

        /// <summary>
        /// 物料批次
        /// </summary>
        [Comment("物料批次")]
        [Required]

        [MaxLength(50)]
        public string MaterialBatch { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        [Comment("物料名称")]
        [Required]

        [MaxLength(50)]
        public string MaterialName { get; set; }

        /// <summary>
        /// 物料规格
        /// </summary>
        [Comment("物料规格")]

        [MaxLength(50)]
        public string MaterialSpec { get; set; }

        /// <summary>
        /// 检验方式;数据字典
        /// </summary>
        [Comment("检验方式")]

        public MaterialInspection InspectionMethod { get; set; }

        /// <summary>
        /// 单位类别;数据字典
        /// </summary>
        [Comment("单位类别")]

        public UnitType UnitType { get; set; }

        /// <summary>
        /// 单位编号;数据字典
        /// </summary>
        [Comment("单位编号")]

        public UnitnoType UnitNo { get; set; }

        /// <summary>
        /// 库存数
        /// </summary>
        [Comment("库存数")]
        [Required]

        public decimal StockNumber { get; set; }

        /// <summary>
        /// 库位编码
        /// </summary>
        [Comment("库位编码")]
        [Required]

        [MaxLength(50)]
        public string PlaceCode { get; set; }

        /// <summary>
        /// 托盘编码
        /// </summary>
        [Comment("托盘编码")]
        [Required]

        [MaxLength(50)]
        public string ContainerCode { get; set; }

        /// <summary>
        /// 库区ID
        /// </summary>
        [Comment("库区ID")]
        [Required]

        public long AreaId { get; set; }
    }
}
